package cn.yuanqiao.archive.formManage.formRule.service;

import cn.yuanqiao.archive.formManage.formRule.domain.YqFormRule;

import java.util.List;

/**
 * 分单规则Service接口
 * 
 * @author yuanqiao
 * @date 2023-06-26
 */
public interface IYqFormRuleService 
{
    /**
     * 查询分单规则
     * 
     * @param ruleId 分单规则主键
     * @return 分单规则
     */
    public YqFormRule selectYqFormRuleByRuleId(String ruleId);

    /**
     * 查询分单规则列表
     * 
     * @param yqFormRule 分单规则
     * @return 分单规则集合
     */
    public List<YqFormRule> selectYqFormRuleList(YqFormRule yqFormRule);


    /**
     * 查询分单规则列表
     *
     * @param yqFormRule 分单规则
     * @return 分单规则集合
     */
    public List<YqFormRule> listAndNoTenant(YqFormRule yqFormRule);

    /**
     * 新增分单规则
     * 
     * @param yqFormRule 分单规则
     * @return 结果
     */
    public int insertYqFormRule(YqFormRule yqFormRule);

    /**
     * 修改分单规则
     * 
     * @param yqFormRule 分单规则
     * @return 结果
     */
    public int updateYqFormRule(YqFormRule yqFormRule);

    public boolean updateColumnConditon(String formId);

    /**
     * 批量删除分单规则
     * 
     * @param ruleIds 需要删除的分单规则主键集合
     * @return 结果
     */
    public int deleteYqFormRuleByRuleIds(String[] ruleIds);

    public int deleteYqFormRuleByGroupRuleId(String ruleIds);

    /**
     * 删除分单规则信息
     * 
     * @param ruleId 分单规则主键
     * @return 结果
     */
    public int deleteYqFormRuleByRuleId(String ruleId);

    List<YqFormRule> selectYqFormRuleByGroupId(String groupId);

    List<YqFormRule> selectYqFormRuleListByFormCode(String formCode, String tenantCode);
}
